/**
 * Company : SIANGKLOM.
 * Created By : Chatree Siangklom
 * Created On : Oct 9, 2013  4:06:58 PM 
 * e-Mail : dr_chatree@hotmail.com
 * Mobile Phone : (+66) 087-921-5115
 * Package Name : com.tis.database.services.staging
 * File Name : FiCreditNoteOutbDao.java
 * TODO
 */
package com.tis.database.dao.staging;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;

import com.tis.database.dao.AbstractDao;
import com.tis.database.entitys.SapMessage;
import com.tis.database.entitys.staging.FiCreditNoteOutb;
import com.tis.database.entitys.staging.StampObject;

/**
 * @author Chatree Siangklom of Administrator
 * Date =Oct 9, 2013 : 4:06:58 PM 
 * CreateBy=Chatree Siangklom
 * 
 * FiCreditNoteOutbDao
 * TODO
 */
public interface FiCreditNoteOutbDao extends AbstractDao<FiCreditNoteOutb, String> {

	/**
	 * Date =Oct 11, 2013 : 2:00:06 PM 
	 * CreateBy=Chatree Siangklom
	 * List<FiCreditNoteOutb>
	 * TODO
	 * @param id
	 * @param sapstagingId
	 * @param company
	 * @param project
	 * @param documentNo
	 * @param refDocNo
	 * @param accountCode
	 * @param accountCode2
	 * @param unitNo
	 * @param status
	 * @param instanceNo
	 * @param syncIssync
	 * @param interfaceOnStart
	 * @param interfaceOnEnd
	 * @param maxResult
	 * @return
	 * @throws HibernateException
	 * @throws Exception
	 */
	List<FiCreditNoteOutb> Search(	String id,
									String sapstagingId,
									String company,
									String project,
									String documentNo,
									String refDocNo,
									String accountCode,
									String accountCode2,
									String unitNo,
									String status,
									String instanceNo,
									String syncIssync,
									String interfaceOnStart, 
									String interfaceOnEnd,
									int maxResult) throws HibernateException, Exception;
	
	List<FiCreditNoteOutb> UpdateBackSapMessage(List<SapMessage> sapMessages) throws HibernateException, Exception;
	
	BigDecimal NextSequence() throws HibernateException, Exception;
	
}
